﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x020002AE RID: 686
	public class TCreateTriggerSqlNode : TParseTreeNode
	{
		// Token: 0x170004BF RID: 1215
		// (get) Token: 0x0600171D RID: 5917 RVA: 0x00327AF7 File Offset: 0x00325CF7
		// (set) Token: 0x0600171E RID: 5918 RVA: 0x00327AFF File Offset: 0x00325CFF
		public List<TAliasClause> referencingNames
		{
			get
			{
				return this._referencingNames;
			}
			set
			{
				this._referencingNames = value;
				if (this.onTable != null && value != null)
				{
					this.onTable.AliasClause = value[0];
				}
			}
		}

		// Token: 0x0600171F RID: 5919 RVA: 0x00327B25 File Offset: 0x00325D25
		public void setFunctionCall(TFunctionCall fc)
		{
			this.functionCall = fc;
		}

		// Token: 0x06001720 RID: 5920 RVA: 0x00327B2E File Offset: 0x00325D2E
		public void setTriggerAction(TTriggerAction a)
		{
			this.triggerAction = a;
		}

		// Token: 0x170004C0 RID: 1216
		// (get) Token: 0x06001722 RID: 5922 RVA: 0x00327B40 File Offset: 0x00325D40
		// (set) Token: 0x06001721 RID: 5921 RVA: 0x00327B37 File Offset: 0x00325D37
		public virtual bool AlterTrigger
		{
			get
			{
				return this.alterTrigger;
			}
			set
			{
				this.alterTrigger = value;
			}
		}

		// Token: 0x170004C1 RID: 1217
		// (get) Token: 0x06001724 RID: 5924 RVA: 0x00327B51 File Offset: 0x00325D51
		// (set) Token: 0x06001723 RID: 5923 RVA: 0x00327B48 File Offset: 0x00325D48
		public virtual TObjectNameList FollowsTriggerList
		{
			get
			{
				return this.followsTriggerList;
			}
			set
			{
				this.followsTriggerList = value;
			}
		}

		// Token: 0x170004C2 RID: 1218
		// (get) Token: 0x06001725 RID: 5925 RVA: 0x00327B59 File Offset: 0x00325D59
		// (set) Token: 0x06001726 RID: 5926 RVA: 0x00327B61 File Offset: 0x00325D61
		public virtual ETriggerTimingPoint TimingPoint
		{
			get
			{
				return this.timingPoint;
			}
			set
			{
				this.timingPoint = value;
			}
		}

		// Token: 0x170004C3 RID: 1219
		// (get) Token: 0x06001728 RID: 5928 RVA: 0x00327B73 File Offset: 0x00325D73
		// (set) Token: 0x06001727 RID: 5927 RVA: 0x00327B6A File Offset: 0x00325D6A
		public virtual TFunctionCall FunctionCall
		{
			get
			{
				return this.functionCall;
			}
			set
			{
				this.functionCall = value;
			}
		}

		// Token: 0x170004C4 RID: 1220
		// (get) Token: 0x0600172A RID: 5930 RVA: 0x00327B84 File Offset: 0x00325D84
		// (set) Token: 0x06001729 RID: 5929 RVA: 0x00327B7B File Offset: 0x00325D7B
		public virtual TBlockSqlNode Blcok
		{
			get
			{
				return this.blcok;
			}
			set
			{
				this.blcok = value;
			}
		}

		// Token: 0x170004C5 RID: 1221
		// (get) Token: 0x0600172C RID: 5932 RVA: 0x00327B95 File Offset: 0x00325D95
		// (set) Token: 0x0600172B RID: 5931 RVA: 0x00327B8C File Offset: 0x00325D8C
		public virtual TDummyList DmlTpyes
		{
			get
			{
				return this.dmlTpyes;
			}
			set
			{
				this.dmlTpyes = value;
			}
		}

		// Token: 0x170004C6 RID: 1222
		// (get) Token: 0x0600172E RID: 5934 RVA: 0x00327BD9 File Offset: 0x00325DD9
		// (set) Token: 0x0600172D RID: 5933 RVA: 0x00327B9D File Offset: 0x00325D9D
		public virtual int FireMode
		{
			get
			{
				return this.fireMode;
			}
			set
			{
				this.fireMode = value;
				switch (value)
				{
				case 0:
					this.timingPoint = ETriggerTimingPoint.ttpFor;
					return;
				case 1:
					this.timingPoint = ETriggerTimingPoint.ttpAfter;
					return;
				case 2:
					this.timingPoint = ETriggerTimingPoint.ttpTinsteadOf;
					return;
				default:
					this.timingPoint = ETriggerTimingPoint.ttpBefore;
					return;
				}
			}
		}

		// Token: 0x170004C7 RID: 1223
		// (get) Token: 0x0600172F RID: 5935 RVA: 0x00327BE1 File Offset: 0x00325DE1
		public virtual TObjectName TriggerName
		{
			get
			{
				return this.triggerName;
			}
		}

		// Token: 0x170004C8 RID: 1224
		// (get) Token: 0x06001731 RID: 5937 RVA: 0x00327BF2 File Offset: 0x00325DF2
		// (set) Token: 0x06001730 RID: 5936 RVA: 0x00327BE9 File Offset: 0x00325DE9
		public virtual TParseTreeNode Trigger_event_clause
		{
			get
			{
				return this.trigger_event_clause;
			}
			set
			{
				this.trigger_event_clause = value;
			}
		}

		// Token: 0x170004C9 RID: 1225
		// (get) Token: 0x06001733 RID: 5939 RVA: 0x00327C03 File Offset: 0x00325E03
		// (set) Token: 0x06001732 RID: 5938 RVA: 0x00327BFA File Offset: 0x00325DFA
		public virtual TExpression WhenCondition
		{
			get
			{
				return this.whenCondition;
			}
			set
			{
				this.whenCondition = value;
			}
		}

		// Token: 0x170004CA RID: 1226
		// (get) Token: 0x06001734 RID: 5940 RVA: 0x00327C0B File Offset: 0x00325E0B
		// (set) Token: 0x06001735 RID: 5941 RVA: 0x00327C13 File Offset: 0x00325E13
		public virtual TStatementSqlNode Stmt
		{
			get
			{
				return this.stmt;
			}
			set
			{
				this.stmt = value;
			}
		}

		// Token: 0x170004CB RID: 1227
		// (get) Token: 0x06001736 RID: 5942 RVA: 0x00327C1C File Offset: 0x00325E1C
		public virtual TTable OnTable
		{
			get
			{
				return this.onTable;
			}
		}

		// Token: 0x170004CC RID: 1228
		// (get) Token: 0x06001737 RID: 5943 RVA: 0x00327C24 File Offset: 0x00325E24
		// (set) Token: 0x06001738 RID: 5944 RVA: 0x00327C2C File Offset: 0x00325E2C
		public virtual TStatementListSqlNode Stmts
		{
			get
			{
				return this.stmts;
			}
			set
			{
				this.stmts = value;
			}
		}

		// Token: 0x06001739 RID: 5945 RVA: 0x00327C38 File Offset: 0x00325E38
		public override void init(object arg1, object arg2)
		{
			this.triggerName = (TObjectName)arg1;
			this.triggerName.ObjectType = 24;
			this.onTable = new TTable();
			((TObjectName)arg2).ObjectType = 3;
			this.onTable.TableName = (TObjectName)arg2;
			this.onTable.TableType = ETableSource.objectname;
		}

		// Token: 0x0600173A RID: 5946 RVA: 0x00327C92 File Offset: 0x00325E92
		public override void init(object arg1)
		{
			this.triggerName = (TObjectName)arg1;
			this.triggerName.ObjectType = 24;
			this.triggerName.DbObjectType = EDbObjectType.trigger;
		}

		// Token: 0x170004CD RID: 1229
		// (get) Token: 0x0600173B RID: 5947 RVA: 0x00327CBA File Offset: 0x00325EBA
		// (set) Token: 0x0600173C RID: 5948 RVA: 0x00327CC2 File Offset: 0x00325EC2
		public virtual TTriggerAction TriggerAction
		{
			get
			{
				return this.triggerAction;
			}
			set
			{
				this.triggerAction = value;
			}
		}

		// Token: 0x040017E8 RID: 6120
		private List<TAliasClause> _referencingNames;

		// Token: 0x040017E9 RID: 6121
		private bool alterTrigger;

		// Token: 0x040017EA RID: 6122
		private TObjectNameList followsTriggerList;

		// Token: 0x040017EB RID: 6123
		private TStatementListSqlNode stmts;

		// Token: 0x040017EC RID: 6124
		private TObjectName triggerName;

		// Token: 0x040017ED RID: 6125
		private TTable onTable;

		// Token: 0x040017EE RID: 6126
		private TExpression whenCondition;

		// Token: 0x040017EF RID: 6127
		private int fireMode;

		// Token: 0x040017F0 RID: 6128
		private ETriggerTimingPoint timingPoint;

		// Token: 0x040017F1 RID: 6129
		private TFunctionCall functionCall;

		// Token: 0x040017F2 RID: 6130
		private TBlockSqlNode blcok;

		// Token: 0x040017F3 RID: 6131
		private TDummyList dmlTpyes;

		// Token: 0x040017F4 RID: 6132
		private TParseTreeNode trigger_event_clause;

		// Token: 0x040017F5 RID: 6133
		private TStatementSqlNode stmt;

		// Token: 0x040017F6 RID: 6134
		private TTriggerAction triggerAction;
	}
}
